/**
 ****************************************************************************************************
 * @file        charset_convert.h
 * @brief       字符编码转换模块头文件
 * @details     提供UTF8、Unicode、GBK之间的编码转换功能声明
 ****************************************************************************************************
 */

#ifndef __CHARSET_CONVERT_H
#define __CHARSET_CONVERT_H

#include <stdint.h>

#ifdef __cplusplus
extern "C" {
#endif

/* 函数声明 */
int unicode_to_utf8(char* pInput, char *pOutput);
int utf8_to_unicode(char* pInput, char* pOutput);
uint16_t unicode_to_gbk_char(uint16_t uni);
uint16_t gbk_to_unicode_char(uint16_t gbk);
int utf8_to_gbk(const char* utf8_str, char* gbk_str, int gbk_size);
int gbk_to_utf8(const char* gbk_str, char* utf8_str, int utf8_size);
void utf8_to_gbk_test(void);
void gbk_to_utf8_test(void);
void flash_gbk_table_test(void);

#ifdef __cplusplus
}
#endif

#endif /* __CHARSET_CONVERT_H */
